int abc[5]={};这个数组初始化语句对吗

来源:百度知道 编辑:UC知道 时间:2024/05/29 16:45:12
int abc[5]={};这个数组初始化语句对吗?
我编译过是错的,但是为什么错呢?不是已经定义了5这个长度了吗,应该已经在RAM中开辟了单元了呀?但是为什么会错呢?我的理解就是--只要通过书写能在内存中开辟单元就好.不管是在[]中还是在{}中.希望各给师傅给予帮助

int abc[5]={0};
int abc[5];都是对的

int abc[5]={};//编译器遇到这个语句会给树组赋个值,开辟空间是一个动作的话,赋值就是另一个动作.这个动作是行不通的.因为不知道要把什么赋给树组!
不要使用这种未定义的行为!

int abc[5]={};主要在初始化列表里,你啥也没写。
int abc[5]={0,0,0,0,0};是正规的写法。
int abc[5]={0};也可以。

是开辟了,单元,但是后面赋值不对啊

int abc[5] = {0}; //大括号里至少要有一个元素啊